/**********************************************************************************************/
// dgt_AlgLogic.cpp
//
// Common Lib for Digital Studio
// Block of management of algorithm
// Class, which represent logic of algorithm 
//
// Copyright Diamant Group 2008
/**********************************************************************************************/

#include "dgtKernel.h"
#include "dgt_Log.h"
#include "dgt_AlgLogic.h"

#include <wx/arrimpl.cpp>

/**********************************************************************************************/
WX_DEFINE_OBJARRAY( dgt_AlgLogArray );

/**********************************************************************************************/
dgt_AlgLogic::dgt_AlgLogic(	unsigned		inStartBlock,
							unsigned		inFinBlock,
							wxArrayInt 		inCondList )
{
	START( "DgtKernel", "dgt_AlgCondition::dgt_AlgLogic" );
	LOG_PARAM( inStartBlock );
	LOG_PARAM( inFinBlock );
	LOG_PARAM( inCondList );

	m_StartBlock = inStartBlock;
	m_FinishBlock = inFinBlock;
	m_CondList = inCondList;

	RETURN_VOID( "dgt_AlgCondition::dgt_AlgLogic" );
}

/**********************************************************************************************/
unsigned dgt_AlgLogic::get_StartBlock( void )
{
	START( "DgtKernel", "dgt_AlgCondition::get_StartBlock" );

	unsigned result;

	result = m_StartBlock;

	RETURN( "dgt_AlgCondition::get_StartBlock", result );
	return result;
}

/**********************************************************************************************/
void dgt_AlgLogic::set_StartBlock( unsigned inStartBlock )
{
	START( "DgtKernel", "dgt_AlgCondition::set_StartBlock" );
	LOG_PARAM( inStartBlock );
	
	m_StartBlock = inStartBlock;

	RETURN_VOID( "dgt_AlgCondition::set_StartBlock" );
}

/**********************************************************************************************/
unsigned dgt_AlgLogic::get_FinBlock( void )
{
	START( "DgtKernel", "dgt_AlgCondition::get_FinBlock" );

	unsigned result;

	result = m_FinishBlock;

	RETURN( "dgt_AlgCondition::get_FinBlock", result );
	return result;
}

/**********************************************************************************************/
void dgt_AlgLogic::set_FinBlock( unsigned inFinBlock )
{
	START( "DgtKernel", "dgt_AlgCondition::set_FinBlock" );
	LOG_PARAM( inFinBlock );

	m_FinishBlock = inFinBlock;

	RETURN_VOID( "dgt_AlgCondition::set_FinBlock" );
}

/**********************************************************************************************/
wxArrayInt dgt_AlgLogic::get_CondList( void )
{
	START( "DgtKernel", "dgt_AlgCondition::get_CondList" );

	wxArrayInt result;

	result = m_CondList;

	RETURN( "dgt_AlgCondition::get_CondList", result );
	return result;
}

/**********************************************************************************************/
void dgt_AlgLogic::set_CondList( wxArrayInt inCondList )
{
	START( "DgtKernel", "dgt_AlgCondition::set_CondList" );
	LOG_PARAM( inCondList );

	m_CondList = inCondList;

	RETURN_VOID( "dgt_AlgCondition::set_CondList" );
}